﻿using System;
using System.Web.Services.Protocols;
using System.Diagnostics;

namespace ErickOrlando.Utilidades.Excepciones
{

    /// <summary>
    /// Clase que permite capturar Excepciones SOAP
    /// </summary>
    public class ExcepcionSoap
    {

        /// <summary>
        /// Muestra un Mensaje legible para el SoapException
        /// </summary>
        public static string MostrarMensaje(SoapException ex)
        {
            string strException = "ApplicationException: ";
            int indice = ex.Message.IndexOf(strException);
            if (indice == -1)
            {
                Trace.WriteLine(ex.ToString());
                return ex.Message;
            }

            var Fullmsg = ex.Message.Substring(indice);
            //Devolvemos la primera línea
            var msg = Fullmsg.Split(Environment.NewLine.ToCharArray())[0];

            return msg.Replace(strException, string.Empty);

        }
    }

}
